package com.hinnotek.amoeba.api

import com.hinnotek.amoeba.base.BaseBean
import com.hinnotek.amoeba.bean.old.*
import com.lee.common.bean.LoginBean
import com.lee.common.network.BaseResp
import okhttp3.RequestBody
import retrofit2.http.*

/**
 * 网络服务(协程)
 * @author ssq
 * @JvmSuppressWildcards 用来注解类和方法，使得被标记元素的泛型参数不会被编译成通配符?
 */
@JvmSuppressWildcards
interface ApiService {


    /*获取最新的版本信息*/
    @POST("app/manage/getNewUpdateVersion")
    suspend fun updateVersion(): BaseResp<VersionBean>


    /*修改密码*/
    @FormUrlEncoded
    @POST("app/manage/updatePassword")
    suspend fun changePass(
        @Field("userId") userId: Int,
        @Field("oldPassword") oldPassword: String,
        @Field("newPassword") newPassword: String
    ): BaseResp<UserChangeLoginPwdBean>

    /*获取全部组织*/
    @POST("app/notice/getAllSysOrg")
    suspend fun getAllSysOrg(): BaseResp<MutableList<AllSysOrg>>

    /*登录*/
    @FormUrlEncoded
    @POST("app/manage/appLogin")
    suspend fun appLogin(
        @Field("userName") username: String,
        @Field("password") password: String
    ): BaseResp<LoginBean>


    /*全部合同类型*/
    @FormUrlEncoded
    @POST("app/config/getContractTypeList")
    suspend fun getContractTypeList(): BaseResp<MutableList<ContractTypeAll>>

    /*全部合同类型*/
    @FormUrlEncoded
    @POST("app/config/getContractTypeList")
    suspend fun getContractTypeList(
        @Field("userName") username: String,
        @Field("password") password: String
    ): ContractTypeAll

    /*添加客户*/
    @FormUrlEncoded
    @POST("app/amibaCustomer/addCustomer")
    suspend fun addCustomer(
        @Field("customerName") customerName: String,
        @Field("orgId") orgId: Int,
        @Field("createUser") createUser: String
    ): BaseResp<BaseBean>

    /*查询阿米巴某个客户下的所有项目*/
    @FormUrlEncoded
    @POST("app/amibaCustomer/getProjectPageByCustomerId")
    suspend fun getProjectPageByCustomerId(
        @Field("customerId") customerId: Int,
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<PtCustomerProjectBean>>

    /*查询阿米巴某个客户下的所有项目*/
    @POST("app/amibaCustomer/addProject")
    suspend fun addProject(@Body body: RequestBody): BaseResp<BaseBean>

    /* 通过项目id查单个项目*/
    @FormUrlEncoded
    @POST("app/amibaCustomer/getCustomerProjectById")
    suspend fun getCustomerProjectById(@Field("amibaCustomerProjectId") username: Int): BaseResp<PtProjectDetailBean>

    /* 通过项目id查单个项目*/
    @FormUrlEncoded
    @POST("app/product/getProductList")
    suspend fun getProductList(): BaseResp<MutableList<ProductListBean>>

    /* 获取某个产品下的所有型号*/
    @FormUrlEncoded
    @POST("app/product/getProductTypeListByProductId")
    suspend fun getProductTypeListByProductId(@Field("productId") productId: Int): BaseResp<MutableList<ProductManagamentBean>>

    /*  产品添加更新产品结算价格*/
    @Multipart
    @POST("app/product/updateProductPrice")
    suspend fun updateProductPrice(
        @Field("productTypeId") productTypeId: Int,
        @Field("productPrice") productPrice: String
    ): BaseResp<BaseBean>

    /*  3.查询单个带图片地址的产品*/
    @FormUrlEncoded
    @POST("app/product/getProductTypeById")
    suspend fun getProductTypeById(@Field("productTypeId") productTypeId: Int): BaseResp<ProductManagermentDetailBean>

    /*  5.添加更新删除产品照片*/
    @Multipart
    @FormUrlEncoded
    @POST("app/product/addProductPicture")
    suspend fun addProductPicture(
        @PartMap imgs: Array<RequestBody?>,
        @Field("createUser") createUser: String,
        @Field("deleteIds") deleteIds: String,
        @Field("productTypeId") productTypeId: Int
    ): BaseResp<BaseBean>

    /*  1.获取合同列表分页*/
    @POST("app/contract/getCompanyContractPage")
    suspend fun getCompanyContractPage(@Body body: RequestBody): BaseResp<MutableList<CompanyContractListBean>>

    /*  2.查询单个合同详情*/
    @FormUrlEncoded
    @POST("app/contract/getCompanyContractById")
    suspend fun getCompanyContractById(@Field("companyContractId") companyContractId: Int): BaseResp<CompanyContractByIdBean>

    /*  3.添加合同*/
    @POST("app/contract/addCompanyContract")
    suspend fun addCompanyContract(@Body body: RequestBody): BaseResp<BaseBean>

    /*  1.查询阿米巴下的全部研发项目*/
    @FormUrlEncoded
    @POST("app/amibaProject/getAmibaProjectListByOrgId")
    suspend fun getAmibaProjectListByOrgIdOnly(
        @Field("userName") username: String,
        @Field("password") password: String
    ): BaseBean

    /*  添加研发项目*/
    @POST("app/amibaProject/addAmibaProject")
    suspend fun addAmibaProject(@Body body: RequestBody): BaseResp<BaseBean>

    /*  获取全部阿米巴组织*/
    @FormUrlEncoded
    @POST("app/manage/getSysOrgAmibaList")
    suspend fun getSysOrgAmibaList(): BaseResp<MutableList<AmountAllocatedBean>>

    /*  通过组织id查询阿米巴下的所有客户*/
    @FormUrlEncoded
    @POST("app/amibaCustomer/getAmibaCustomerListByOrgId")
    suspend fun getAmibaCustomerListByOrgId(@Field("orgId") orgId: Int): BaseResp<MutableList<AmeobaCustomerListBean>>

    /*  查询阿米巴某个客户下的所有项目*/
    @FormUrlEncoded
    @POST("app/amibaCustomer/getProjectByCustomerId")
    suspend fun getProjectByCustomerId(@Field("customerId") customerId: Int): BaseResp<MutableList<ProjectByCustomerBean>>

    /*  下拉框获取全部合同编号及信息*/
    @FormUrlEncoded
    @POST("app/contract/getCompanyContractNumList")
    suspend fun getCompanyContractNumList(): BaseResp<MutableList<CompanyContractNumBean>>

    /*  合同金额,回款金额分配*/
    @FormUrlEncoded
    @POST("app/contract/addCompanyContractDistribution")
    suspend fun addCompanyContractDistribution(
        @Field("contractDistributionType") contractDistributionType: Int,
        @Field("orgId") orgId: Int,
        @Field("orgName") orgName: String,
        @Field("customerId") customerId: Int,
        @Field("customerName") customerName: String,
        @Field("amibaCustomerProjectId") amibaCustomerProjectId: Int,
        @Field("projectName") projectName: String,
        @Field("companyContractId") companyContractId: Int,
        @Field("contractNo") contractNo: String,
        @Field("divideMoney") divideMoney: String,
        @Field("createUser") createUser: String
    ): BaseResp<BaseBean>

    /*  添加研发项目成本分配记录*/
    @POST("app/project/addCompanyProjectDistribution")
    suspend fun addCompanyProjectDistribution(@Body body: RequestBody): BaseResp<BaseBean>

    /*  获取某个阿米巴下的全部研发项目信息*/
    @FormUrlEncoded
    @POST("app/project/getAmibaProjectListByOrgId")
    suspend fun getAmibaProjectListByOrgId(@Field("orgId") orgId: Int): BaseResp<MutableList<AmibaProjectListBean>>

    /*  获取全部成本记录分页*/
    @FormUrlEncoded
    @POST("app/person/getCompanyPersonCostPage")
    suspend fun getCompanyPersonCostPage(
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<CompanyPersonCostPageBean>>

    /*  下拉框获取全部员工*/
    @FormUrlEncoded
    @POST("app/manage/getSysPersonList")
    suspend fun getSysPersonList(): BaseResp<MutableList<SysPersonListBean>>

    /*  添加公司人工成本录入记录*/
    @FormUrlEncoded
    @POST("app/person/addCompanyPersonCost")
    suspend fun addCompanyPersonCost(
        @Field("companyPersonCostType") companyPersonCostType: Int,
        @Field("orgId") orgId: Int,
        @Field("orgName") orgName: String,
        @Field("customerId") customerId: Int,
        @Field("customerName") customerName: String,
        @Field("amibaCustomerProjectId") amibaCustomerProjectId: Int,
        @Field("projectName") projectName: String,
        @Field("amibaProjectId") amibaProjectId: Int,
        @Field("provideProjectName") provideProjectName: String,
        @Field("personMoney") personMoney: String,
        @Field("createUser") createUser: String,
        @Field("companyPersonJson") companyPersonJson: String
    ): BaseResp<BaseBean>

    /*  通过id获取单个记录*/
    @FormUrlEncoded
    @POST("app/person/getCompanyPersonCostById")
    suspend fun getCompanyPersonCostById(@Field("companyPersonCostId") companyPersonCostId: Int): BaseResp<LaborCostDetailBean>

    /*  获取回款未完成的所有合同的分页*/
    @FormUrlEncoded
    @POST("app/contract/getCompanyContractPageByUnComplete")
    suspend fun getCompanyContractPageByUnComplete(
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<PBListBean>>

    /*  回款使用的通过Id获取单个合同回款详情*/
    @FormUrlEncoded
    @POST("app/contract/getCompanyContractByIdForUnComplete")
    suspend fun getCompanyContractByIdForUnComplete(
        @Field("companyContractId") companyContractId: Int
    ): BaseResp<PBDetailBean>

    /*  添加回款记录*/
    @FormUrlEncoded
    @POST("app/contract/addCompanyContractBack")
    suspend fun addCompanyContractBack(
        @Field("companyContractId") companyContractId: Int,
        @Field("backMoney") backMoney: String
    ): BaseResp<BaseBean>

    /*  更新合同回款状态为已完成*/
    @FormUrlEncoded
    @POST("app/contract/updateCompanyContractBackStateComplete")
    suspend fun updateCompanyContractBackStateComplete(
        @Field("companyContractId") companyContractId: Int
    ): BaseResp<BaseBean>

    /*  获取某个阿米巴销售用户的采购申请单分页数据*/
    @POST("app/amibaPurchase/getAmibaPurchaseType1ByUserId")
    suspend fun getAmibaPurchaseType1ByUserId(@Body requestBody: RequestBody): BaseResp<MutableList<SellPurchaseRequistionBean>>

    /*  通过id查询单个详情*/
    @FormUrlEncoded
    @POST("app/amibaPurchase/getAmibaPurchaseById")
    suspend fun getAmibaPurchaseById(
        @Field("amibaPurchaseId") amibaPurchaseId: Int
    ): BaseResp<SellPurchaseRequistionDetailBean>

    /*  重新提交采购申请单*/
    @FormUrlEncoded
    @POST("app/amibaPurchase/resubmitAmibaPurchase")
    suspend fun resubmitAmibaPurchase(
        @Field("amibaPurchaseId") amibaPurchaseId: Int
    ): BaseResp<BaseBean>

    /*  修改销售采购申请*/
    @POST("app/amibaPurchase/updateAmibaPurchase")
    suspend fun updateAmibaPurchase(@Body requestBody: RequestBody): BaseResp<BaseBean>

    /*  撤回采购申请单*/
    @FormUrlEncoded
    @POST("app/amibaPurchase/backAmibaPurchase")
    suspend fun backAmibaPurchase(@Field("amibaPurchaseId") amibaPurchaseId: Int): BaseResp<BaseBean>

    /*  获取某个阿米巴审批人的列表*/
    @FormUrlEncoded
    @POST("app/amibaPurchase/getAmibaSysUserAdminByOrgId")
    suspend fun getAmibaSysUserAdminByOrgId(): BaseResp<MutableList<AmibaSysUserAdminBean>>

    /*  添加销售采购申请*/
    @POST("app/amibaPurchase/addAmibaPurchaseSale")
    suspend fun addAmibaPurchaseSale(@Body requestBody: RequestBody): BaseResp<BaseBean>

    /*  获取阿米巴技术用户的采购申请单分页数据*/
    @POST("app/amibaPurchase/getAmibaPurchaseType2ByUserId")
    suspend fun getAmibaPurchaseType2ByUserId(@Body requestBody: RequestBody): BaseResp<MutableList<SellPurchaseRequistionBean>>

    /*  添加技术采购申请*/
    @POST("app/amibaPurchase/addAmibaPurchaseTechnology")
    suspend fun addAmibaPurchaseTechnology(@Body requestBody: RequestBody): BaseResp<BaseBean>

    /*  获取阿米巴研发用户的采购申请单分页数据*/
    @POST("app/amibaPurchase/getAmibaPurchaseType3ByUserId")
    suspend fun getAmibaPurchaseType3ByUserId(@Body requestBody: RequestBody): BaseResp<MutableList<SellPurchaseRequistionBean>>

    /*  添加研发采购申请*/
    @FormUrlEncoded
    @POST("app/amibaPurchase/addAmibaPurchaseDevelop")
    suspend fun addAmibaPurchaseDevelop(
        @Field("userName") username: String,
        @Field("password") password: String
    ): BaseBean

    /*  修改项目需料*/
    @POST("app/amibaPurchase/updateAmibaPurchaseProject")
    suspend fun updateAmibaPurchaseProject(
        @Body requestBody: RequestBody
    ): BaseResp<BaseBean>

    /*  通过userId查询商务采购分页*/
    @FormUrlEncoded
    @POST("app/purchase/getCompanyPurchaseByUserId")
    suspend fun getCompanyPurchaseByUserId(
        @Field("applyUserId") applyUserId: Int,
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<CompanyPurchaseByUserIdBean>>

    /*  通过id查询单个详情*/
    @FormUrlEncoded
    @POST("app/purchase/getCompanyPurchaseByCompanyPurchaseId")
    suspend fun getCompanyPurchaseByCompanyPurchaseId(@Field("companyPurchaseId") companyPurchaseId: Int):
            BaseResp<CompanyPurchaseByCompanyPurchaseIdBean>

    /*  获取商务管理员（审批人）的列表*/
    @FormUrlEncoded
    @POST("app/purchase/getCompanySysUserAdmin")
    suspend fun getCompanySysUserAdmin(): BaseResp<MutableList<AmibaSysUserAdminBean>>

    /*  添加商务采购*/
    @POST("app/purchase/addCompanyPurchase")
    suspend fun addCompanyPurchase(@Body body: RequestBody): BaseResp<BaseBean>

    /*  通过申请人Id查询付款申请*/
    @FormUrlEncoded
    @POST("app/amibaPay/getAmibaPayPageByUserId")
    suspend fun getAmibaPayPageByUserId(
        @Field("applyUserId") applyUserId: Int,
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<AmibaProjectListByOrgIdBean>>

    /*  查询单个付款申请详情*/
    @FormUrlEncoded
    @POST("app/amibaPay/getAmibaPayByAmibaPayId")
    suspend fun getAmibaPayByAmibaPayId(@Field("amibaPayId") amibaPayId: Int): BaseResp<AmibaPayByAmibaPayIdBean>

    /*  添加阿米巴付款*/
    @POST("app/amibaPay/addAmibaPay")
    suspend fun addAmibaPay(@Body body: RequestBody): BaseResp<BaseBean>

    /*  通过申请人获取临时缴费续费申请分页*/
    @POST("app/amibaTemporarye/getAmibaTemporaryePageByUserId")
    suspend fun getAmibaTemporaryePageByUserId(@Body body: RequestBody): BaseResp<MutableList<AmibaTemporaryePageByUserIdBean>>

    /*  通过id查询单个临时缴费续费申请*/
    @FormUrlEncoded
    @POST("app/amibaTemporarye/getAmibaTemporaryeById")
    suspend fun getAmibaTemporaryeById(
        @Field("amibaTemporaryId") amibaTemporaryId: Int
    ): BaseResp<AmibaTemporaryeByIdBean>

    /*  添加临时缴费续费申请*/
    @POST("app/amibaTemporarye/addAmibaTemporary")
    suspend fun addAmibaTemporary(@Body body: RequestBody): BaseResp<BaseBean>


    /*  通过申请人查询全部手机号缴费申请分页*/
    @FormUrlEncoded
    @POST("app/phone/getCompanyPhonePayPageByUserId")
    suspend fun getCompanyPhonePayPageByUserId(
        @Field("applyUserId") applyUserId: Int,
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<CompanyPhonePayPageByUserIdBean>>

    /*  添加手机号缴费申请*/
    @FormUrlEncoded
    @POST("app/phone/addCompanyPhonePay")
    suspend fun addCompanyPhonePay(@Body body: RequestBody): BaseResp<BaseBean>

    /*  查询单个手机号缴费申请详情*/
    @FormUrlEncoded
    @POST("app/phone/getCompanyPhonePayById")
    suspend fun getCompanyPhonePayById(
        @Field("companyPhonePayId") companyPhonePayId: Int
    ): BaseResp<CompanyPhonePayByIdBean>

    /*  通过申请人查询全部报销申请分页*/
    @POST("app/amibaReimburse/getAmibaReimbursePageByUserId")
    suspend fun getAmibaReimbursePageByUserId(@Body body: RequestBody): BaseResp<MutableList<AmibaReimbursePageByUserIdBean>>

    /*  通过id查询单个报销申请*/
    @FormUrlEncoded
    @POST("app/amibaReimburse/getAmibaReimburseById")
    suspend fun getAmibaReimburseById(@Field("amibaReimburseId") amibaReimburseId: Int): BaseResp<AmibaReimburseByIdBean>

    /*  添加报销申请*/
    @POST("app/amibaReimburse/addAmibaReimburse")
    suspend fun addAmibaReimburse(@Body body: RequestBody): BaseResp<BaseBean>

    /*  通过申请人获取安装申请*/
    @FormUrlEncoded
    @POST("app/amibaInstall/getAmibaInstallPageByUserId")
    suspend fun getAmibaInstallPageByUserId(
        @Field("applyUserId") applyUserId: Int,
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<AmibaInstallPageByUserIdBean>>

    /*  通过id获取单个安装申请*/
    @FormUrlEncoded
    @POST("app/amibaInstall/getAmibaInstallById")
    suspend fun getAmibaInstallById(@Field("amibaInstallId") amibaInstallId: Int): BaseResp<AmibaInstallByIdBean>

    /*  添加安装申请*/
    @POST("app/amibaInstall/addAmibaInstall")
    suspend fun addAmibaInstall(@Body requestBody: RequestBody): BaseResp<BaseBean>

    /*  添加续增价*/
    @FormUrlEncoded
    @POST("app/amibaInstall/addAmibaInstallContinued")
    suspend fun addAmibaInstallContinued(
        @Field("amibaInstallId") amibaInstallId: Int,
        @Field("continuedMoney") continuedMoney: String
    ): BaseResp<BaseBean>

    /*  更新安装完成状态*/
    @FormUrlEncoded
    @POST("app/amibaInstall/updateAmibaInstallCompleteState")
    suspend fun updateAmibaInstallCompleteState(
        @Field("amibaInstallId") amibaInstallId: Int
    ): BaseResp<BaseBean>

    /*  通过审批人查询相应的通知审批消息分页*/
    @POST("app/notice/getNoticePageByUserId")
    suspend fun getNoticePageByUserId(@Body body: RequestBody): BaseResp<MutableList<NoticePageByUserIdBean>>

    /*  点击进入审批详细信息 点击进入审批详细信息*/
    @FormUrlEncoded
    @POST("app/notice/getNoticeDetailById")
    suspend fun getNoticeDetailById(
        @Field("noticeId") noticeId: Int
    ): BaseResp<AmibaInstallByIdBean>

    /*  查询全部抄送分页*/
    @POST("app/notice/getNoticePage")
    suspend fun getNoticePage(@Body body: RequestBody): BaseResp<MutableList<NoticePageByUserIdBean>>

    @FormUrlEncoded
    @POST("app/notice/getNoticePage")
    suspend fun getNoticePage2(
        @Field("noticeTypeId") noticeTypeId: Int,
        @Field("orgName") orgName: String,
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<NoticePageByUserIdBean>>

    /*  阿米巴采购申请审批*/
    @FormUrlEncoded
    @POST("app/notice/amibaPurchaseApproval")
    suspend fun amibaPurchaseApproval(
        @Field("amibaPurchaseId") amibaPurchaseId: Int,
        @Field("approvalState") approvalState: Int,
        @Field("noticeId") noticeId: Int,
        @Field("refusalReasons") refusalReasons: String
    ): BaseResp<BaseBean>

    /*  阿米巴付款申请审批*/
    @FormUrlEncoded
    @POST("app/notice/amibaPayApproval")
    suspend fun amibaPayApproval(
        @Field("amibaPayId") amibaPayId: Int,
        @Field("approvalState") approvalState: Int,
        @Field("noticeId") noticeId: Int
    ): BaseResp<BaseBean>

    /*  阿米巴报销申请审批*/
    @FormUrlEncoded
    @POST("app/notice/amibaReimburseApproval")
    suspend fun amibaReimburseApproval(
        @Field("amibaReimburseId") companyPhonePayId: Int,
        @Field("approvalState") approvalState: Int,
        @Field("noticeId") noticeId: Int,
        @Field("refusalReasons") refusalReasons: String
    ): BaseResp<BaseBean>

    /*  阿米巴临时缴费续费申请审批*/
    @FormUrlEncoded
    @POST("app/notice/amibaTemporaryApproval")
    suspend fun amibaTemporaryApproval(
        @Field("amibaTemporaryId") companyPhonePayId: Int,
        @Field("approvalState") approvalState: Int,
        @Field("noticeId") noticeId: Int
    ): BaseResp<BaseBean>

    /*  阿米巴安装申请审批*/
    @FormUrlEncoded
    @POST("app/notice/amibaInstallApproval")
    suspend fun amibaInstallApproval(
        @Field("companyPhonePayId") companyPhonePayId: Int,
        @Field("approvalState") approvalState: Int,
        @Field("noticeId") noticeId: Int
    ): BaseResp<BaseBean>

    /*  公司商务采购申请审批*/
    @FormUrlEncoded
    @POST("app/notice/companyPurchaseApproval")
    suspend fun companyPurchaseApproval(
        @Field("companyPurchaseId") companyPhonePayId: Int,
        @Field("approvalState") approvalState: Int,
        @Field("noticeId") noticeId: Int
    ): BaseResp<BaseBean>

    /*  公司手机号缴费申请审批*/
    @FormUrlEncoded
    @POST("app/notice/companyPhonePayApproval")
    suspend fun companyPhonePayApproval(
        @Field("companyPhonePayId") companyPhonePayId: Int,
        @Field("approvalState") approvalState: Int,
        @Field("noticeId") noticeId: Int
    ): BaseResp<BaseBean>

    /*  通过orgId查询单个阿米巴信息带金钱*/
    @FormUrlEncoded
    @POST("app/manage/getSysOrgDetailById")
    suspend fun getSysOrgDetailById(@Field("orgId") orgId: Int): BaseResp<SysOrgDetailByIdBean>

    /*  获取全部阿米巴组织详情带金额*/
    @POST("app/manage/getSysOrgAmibaDetailList")
    suspend fun getSysOrgAmibaDetailList(): BaseResp<MutableList<SysOrgAmibaDetailListBean>>

    /*  阿米巴安装历史申请*/
    @FormUrlEncoded
    @POST("app/notice/getAmibaInstallPageForHistory")
    suspend fun getAmibaInstallPageForHistory(
        @Field("applyUserId") applyUserId: Int,
        @Field("approvalUserId") approvalUserId: String,
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<AmibaInstallPageByUserIdBean>>

    /*  阿米巴付款历史申请*/
    @FormUrlEncoded
    @POST("app/notice/getAmibaPayPageForHistory")
    suspend fun getAmibaPayPageForHistory(
        @Field("applyUserId") applyUserId: Int,
        @Field("approvalUserId") approvalUserId: String,
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<AmibaProjectListByOrgIdBean>>

    /*  阿米巴采购历史申请*/
    @FormUrlEncoded
    @POST("app/notice/getAmibaPurchasePageForHistory")
    suspend fun getAmibaPurchasePageForHistory(
        @Field("applyUserId") applyUserId: Int,
        @Field("approvalUserId") approvalUserId: String,
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<SellPurchaseRequistionBean>>

    /*  阿米巴报销历史申请*/
    @FormUrlEncoded
    @POST("app/notice/getAmibaReimbursePageForHistory")
    suspend fun getAmibaReimbursePageForHistory(
        @Field("applyUserId") applyUserId: Int,
        @Field("approvalUserId") approvalUserId: String,
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<AmibaReimbursePageByUserIdBean>>

    /*  阿米巴临时缴费续费历史申请*/
    @FormUrlEncoded
    @POST("app/notice/getAmibaTemporaryePageForHistory")
    suspend fun getAmibaTemporaryePageForHistory(
        @Field("applyUserId") applyUserId: Int,
        @Field("approvalUserId") approvalUserId: String,
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<AmibaTemporaryePageByUserIdBean>>

    /*  公司商务采购历史申请*/
    @FormUrlEncoded
    @POST("app/notice/getCompanyPurchasePageForHistory")
    suspend fun getCompanyPurchasePageForHistory(
        @Field("applyUserId") applyUserId: Int,
        @Field("approvalUserId") approvalUserId: String,
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<CompanyPurchaseByUserIdBean>>

    /*  公司手机号缴费历史申请*/
    @FormUrlEncoded
    @POST("app/notice/getCompanyPhonePayPageForHistory")
    suspend fun getCompanyPhonePayPageForHistory(
        @Field("applyUserId") applyUserId: Int,
        @Field("approvalUserId") approvalUserId: String,
        @Field("pageNo") pageNo: Int,
        @Field("pageSize") pageSize: Int
    ): BaseResp<MutableList<CompanyPhonePayPageByUserIdBean>>

    /*  撤回阿米巴申请单*/
    @FormUrlEncoded
    @POST("app/amibaReimburse/backAmibaReimburse")
    suspend fun backAmibaReimburse(@Field("amibaReimburseId") amibaReimburseId: Int): BaseResp<BaseBean>

    /*  重新提交报销申请单*/
    @FormUrlEncoded
    @POST("app/amibaReimburse/resubmitAmibaReimburse")
    suspend fun resubmitAmibaReimburse(@Field("amibaReimburseId") amibaReimburseId: Int): BaseResp<BaseBean>

    /*  修改报销申请*/
    @POST("app/amibaReimburse/updateAmibaReimburse")
    suspend fun updateAmibaReimburse(@Body body: RequestBody): BaseResp<BaseBean>

    /*  查询阿米巴研发项目详情*/
    @FormUrlEncoded
    @POST("app/amibaProject/getAmibaProjectById")
    suspend fun getAmibaProjectById(@Field("amibaProjectId") amibaProjectId: Int): BaseResp<RDProjectDetailBean>

    /*  获取统计详情中的客户项目    */
    @FormUrlEncoded
    @POST("app/manage/getAmibaCustomerDetail")
    suspend fun getAmibaCustomerDetail(
        @Field("orgId") orgId: Int
    ): BaseResp<MutableList<StatisticalCustomerProjectBean>>

    /*  获取统计详情中的研发项目    */
    @FormUrlEncoded
    @POST("app/manage/getAmibaProjectDetail")
    suspend fun getAmibaProjectDetail(@Field("orgId") orgId: Int): BaseResp<MutableList<StatisticalRDProjectBean>>

}